5eec39a1b4b315b6b4ed09c9996ee9e3f0ae7f2d,jzy3d-api/src/api/org/jzy3d/plot3d/primitives/vbo/DrawableVBO.java,DrawableVBO,doDrawElements,#GL#,71
Before Change
gl.getGL2().glDrawElements(getGeometry(), size, GL.GL_UNSIGNED_INT, pointer);
gl.getGL2().glBindBuffer(GL.GL_ELEMENT_ARRAY_BUFFER, elementName[0]);
gl.getGL2().glBindBuffer(GL.GL_ARRAY_BUFFER, arrayName[0]);
gl.getGL2().glDisableClientState(GLPointerFunc.GL_VERTEX_ARRAY);
gl.getGL2().glDisableClientState(GLPointerFunc.GL_NORMAL_ARRAY);
} else {
After Change
this.hasColorBuffer = hasColorBuffer;
}
protected void doDrawElements(GL gl) {
if (gl.isGL2()) {
doBindGL2(gl);
gl.getGL2().glVertexPointer(dimensions, GL.GL_FLOAT, byteOffset, pointer);
gl.getGL2().glNormalPointer(GL.GL_FLOAT, byteOffset, normalOffset);
if (hasColorBuffer) {
// int bo = 6 * Buffers.SIZEOF_FLOAT;
int p = 3 * Buffers.SIZEOF_FLOAT;
gl.getGL2().glEnableClientState(GL2.GL_COLOR_ARRAY);
gl.getGL2().glColorPointer(colorChannelNumber, GL.GL_FLOAT, byteOffset, p);
}
// enable
gl.getGL2().glEnableClientState(GLPointerFunc.GL_VERTEX_ARRAY);
gl.getGL2().glEnableClientState(GLPointerFunc.GL_NORMAL_ARRAY);
// draw
gl.getGL2().glDrawElements(getGeometry(), size, GL.GL_UNSIGNED_INT, pointer);
doBindGL2(gl);
// disable
gl.getGL2().glDisableClientState(GLPointerFunc.GL_VERTEX_ARRAY);
gl.getGL2().glDisableClientState(GLPointerFunc.GL_NORMAL_ARRAY);
if (hasColorBuffer) {
gl.getGL2().glDisableClientState(GL2.GL_COLOR_ARRAY);
}
} else {